CouchDB এবং PouchDB হল দুইটি জনপ্রিয় NoSQL ডাটাবেস সিস্টেম, যা ডিস্ট্রিবিউটেড ডেটা স্টোরেজ এবং মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্টে সহায়ক। CouchDB একটি server-side ডাটাবেস, যা ডেটা স্টোর করতে এবং পরিচালনা করতে ব্যবহৃত হয়, এবং PouchDB হল একটি client-side ডাটাবেস যা CouchDB এর সাথে সিঙ্ক্রোনাইজ করতে সক্ষম এবং মোবাইল অ্যাপ্লিকেশনগুলিতে ব্যবহার করা হয়।
PouchDB CouchDB এর সাথে পুরোপুরি সামঞ্জস্যপূর্ণ, অর্থাৎ এটি offline-first অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য আদর্শ। এই টিউটোরিয়ালে আমরা CouchDB এবং PouchDB ব্যবহার করে একটি মোবাইল অ্যাপ্লিকেশন তৈরি করার প্রক্রিয়া সম্পর্কে বিস্তারিত আলোচনা করব।
CouchDB এবং PouchDB একে অপরের সাথে সিঙ্ক্রোনাইজ করার জন্য ডিজাইন করা হয়েছে। PouchDB ব্যবহারকারীকে offline মোডে ডেটা অ্যাক্সেস এবং আপডেট করার সুযোগ দেয় এবং যখন ইন্টারনেট কানেকশন পাওয়া যায়, তখন ডেটা CouchDB এর সাথে সিঙ্ক্রোনাইজ হয়।
প্রথমে, আপনাকে PouchDB ইনস্টল করতে হবে। যদি আপনি Node.js ব্যবহার করেন, তাহলে এটি npm এর মাধ্যমে ইনস্টল করতে পারবেন।
npm install pouchdb
এটি PouchDB ইনস্টল করবে এবং আপনি এটি ব্যবহার করতে পারবেন।
PouchDB ডাটাবেসে ডেটা offline এ সংরক্ষিত থাকে এবং যখন ইন্টারনেট কানেকশন পাওয়া যায় তখন এটি CouchDB এর সাথে সিঙ্ক্রোনাইজ হয়।
PouchDB ডাটাবেস তৈরি করার জন্য নিচের কোডটি ব্যবহার করতে পারেন:
// PouchDB ইনস্টল করুন
var PouchDB = require('pouchdb');
// PouchDB ডাটাবেস তৈরি করুন
var db = new PouchDB('my_database');
// ডকুমেন্ট ইনসার্ট করা
var doc = {
_id: 'user_1',
name: 'John Doe',
age: 30,
type: 'user'
};
db.put(doc).then(function(response) {
console.log('Document inserted successfully', response);
}).catch(function(err) {
console.log('Error inserting document', err);
});
এখানে:
PouchDB এবং CouchDB এর মধ্যে সিঙ্ক্রোনাইজেশন করার জন্য, আপনি sync() ফাংশন ব্যবহার করতে পারেন।
// CouchDB এর URL (আপনার CouchDB সার্ভারের URL)
var remoteDB = new PouchDB('http://localhost:5984/my_database');
// PouchDB এবং CouchDB এর মধ্যে সিঙ্ক্রোনাইজেশন
db.sync(remoteDB, {
live: true, // সিঙ্ক্রোনাইজেশন লাইভ হবে
retry: true // পুনরায় চেষ্টা করবে যদি সিঙ্ক্রোনাইজেশন ব্যর্থ হয়
}).on('change', function(change) {
console.log('Sync change', change);
}).on('error', function(err) {
console.log('Sync error', err);
});
এখানে:
CouchDB এবং PouchDB এর মধ্যে সিঙ্ক্রোনাইজেশনের দুটি মোড রয়েছে:
var remoteDB = new PouchDB('http://localhost:5984/my_database');
// Two-way sync
db.sync(remoteDB, {
live: true, // লাইভ সিঙ্ক্রোনাইজেশন
retry: true // পুনরায় চেষ্টা করবে
}).on('change', function(change) {
console.log('Sync change', change);
}).on('error', function(err) {
console.log('Sync error', err);
});
এই কোডের মাধ্যমে PouchDB এবং CouchDB এর মধ্যে two-way sync হবে, যা offline-first অ্যাপ্লিকেশনগুলির জন্য অত্যন্ত উপযোগী।
আপনি যদি mobile application তৈরি করতে চান, তবে PouchDB এর Cordova বা React Native প্ল্যাটফর্ম ব্যবহার করতে পারেন।
আপনি যদি Apache Cordova ব্যবহার করে মোবাইল অ্যাপ তৈরি করতে চান, তাহলে PouchDB কিভাবে Cordova অ্যাপ্লিকেশনে ব্যবহার করবেন তা নিচে দেখানো হল।
cordova create myApp
cd myApp
cordova platform add android
cordova plugin add cordova-plugin-pouchdb
var PouchDB = require('pouchdb');
var db = new PouchDB('my_database');
// ডেটা ইনসার্ট করা
db.put({
_id: 'doc1',
name: 'Alice',
age: 25
}).then(function(response) {
console.log('Document inserted', response);
}).catch(function(err) {
console.log('Error inserting document', err);
});
এখানে:
PouchDB offline-first অ্যাপ্লিকেশন তৈরি করতে সহায়ক। আপনি PouchDB ব্যবহার করে মোবাইল বা ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারেন যেখানে ব্যবহারকারীরা offline অবস্থায়ও ডেটা দেখতে এবং আপডেট করতে পারবেন এবং পরে ইন্টারনেট কানেকশন ফিরে আসলে CouchDB এর সাথে সিঙ্ক্রোনাইজ করা যাবে।
var db = new PouchDB('my_database');
// ডেটা দেখুন বা আপডেট করুন যখন অ্যাপ অফলাইনে থাকে
db.put({
_id: 'doc1',
name: 'Bob',
age: 28
}).then(function(response) {
console.log('Document inserted in offline mode', response);
});
// সিঙ্ক্রোনাইজেশন হবে যখন ইন্টারনেট কানেকশন পাওয়া যাবে
var remoteDB = new PouchDB('http://localhost:5984/my_database');
db.sync(remoteDB, {
live: true,
retry: true
}).on('change', function(change) {
console.log('Syncing data...', change);
}).on('error', function(err) {
console.log('Sync error', err);
});
এখানে:
CouchDB এবং PouchDB দিয়ে offline-first মোবাইল অ্যাপ্লিকেশন তৈরি করা খুবই সহজ এবং কার্যকরী। PouchDB ব্যবহার করে আপনি মোবাইল অ্যাপ্লিকেশনগুলিতে ডেটা সিঙ্ক্রোনাইজ এবং CouchDB এর
সাথে যোগাযোগ করতে পারবেন। এই ফিচারটি real-time sync, offline data storage, এবং cross-platform synchronization এর জন্য উপযোগী। CouchDB এবং PouchDB এর ইন্টিগ্রেশন বিভিন্ন ধরনের অ্যাপ্লিকেশন ডেভেলপমেন্টে সহায়ক, যেমন mobile apps, web apps, এবং IoT ডিভাইসগুলির জন্য।
common.read_more